\input texinfo
@c -*-texinfo-*-
@c %**start of header
@setfilename guile.info
@settitle Guile Reference Manual
@set guile
@set MANUAL_EDITION 0.1
@c %**end of header

@c Define indices that are used in the Guile Scheme part of the
@c reference manual to group stuff according to whether it is R5RS or a
@c Guile extension.
@defcodeindex rn

@include version.texi

@c vnew - For (some) new items, indicates the Guile version in which
@c item first appeared.  In future, this could be made to expand to
@c something like a "New in Guile 45!" banner.
@macro vnew{VERSION}
@end macro

@c @iftex
@c @cropmarks
@c @end iftex

@dircategory The Algorithmic Language Scheme
@direntry
* Guile Reference: (guile).     The Guile reference manual.
@end direntry

@setchapternewpage off

@ifinfo
Guile Reference Manual
Copyright (C) 1996 Free Software Foundation @*
Copyright (C) 1997 Free Software Foundation @*
Copyright (C) 2000 Free Software Foundation @*
Copyright (C) 2001 Free Software Foundation @*
Copyright (C) 2002 Free Software Foundation

Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
are preserved on all copies.

@ignore
Permission is granted to process this file through TeX and print the
results, provided the printed document carries copying permission
notice identical to this one except for the removal of this paragraph
(this paragraph not being relevant to the printed manual).
@end ignore

Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the entire
resulting derived work is distributed under the terms of a permission
notice identical to this one.

Permission is granted to copy and distribute translations of this manual
into another language, under the above conditions for modified versions,
except that this permission notice may be stated in a translation approved
by the Free Software Foundation.
@end ifinfo

@titlepage
@sp 10
@comment The title is printed in a large font.
@title Guile Reference Manual
@subtitle Edition @value{MANUAL_EDITION}, for use with Guile @value{VERSION}
@subtitle $Id: guile.texi,v 1.13.2.1 2002-05-05 11:31:59 ttn Exp $

@c AUTHORS

@c The Guile reference and tutorial manuals were written and edited
@c largely by Mark Galassi and Jim Blandy.  In particular, Jim wrote the
@c original tutorial on Guile's data representation and the C API for
@c accessing Guile objects.

@c Significant portions were contributed by Gary Houston (contributions
@c to POSIX system calls and networking, expect, I/O internals and
@c extensions, slib installation, error handling) and Tim Pierce
@c (sections on script interpreter triggers, alists, function tracing).

@c Tom Lord contributed a great deal of material with early Guile
@c snapshots; although most of this text has been rewritten, all of it
@c was important, and some of the structure remains.

@c Aubrey Jaffer wrote the SCM Scheme implementation and manual upon
@c which the Guile program and manual are based.  Some portions of the
@c SCM and SLIB manuals have been included here verbatim.

@c Since Guile 1.4, Neil Jerram has been maintaining and improving the
@c reference manual.  Among other contributions, he wrote the Basic
@c Ideas chapter, developed the tools for keeping the manual in sync
@c with snarfed libguile docstrings, and reorganized the structure so as
@c to accommodate docstrings for all Guile's primitives.

@c Martin Grabmueller has made substantial contributions throughout the
@c reference manual in preparation for the Guile 1.6 release, including
@c filling out a lot of the documentation of Scheme data types, control
@c mechanisms and procedures.  In addition, he wrote the documentation
@c for Guile's SRFI modules and modules associated with the Guile REPL.

@author Mark Galassi
@author Cygnus Solution and Los Alamos National Laboratory
@author @email{rosalia@@cygnus.com}
@author
@author Jim Blandy
@author Free Software Foundation and MIT AI Lab
@author @email{jimb@@red-bean.com}
@author
@author Gary Houston
@author @email{ghouston@@arglist.com}
@author
@author Tim Pierce
@author @email{twp@@skepsis.com}
@author
@author Neil Jerram
@author @email{neil@@ossau.uklinux.net}
@author
@author Martin Grabmueller
@author @email{mgrabmue@@cs.tu-berlin.de}

@c The following two commands start the copyright page.
@page
@vskip 0pt plus 1filll
@vskip 0pt plus 1filll
Copyright @copyright{} 1996 Free Software Foundation

Copyright @copyright{} 1997 Free Software Foundation

Copyright @copyright{} 2000 Free Software Foundation

Copyright @copyright{} 2001 Free Software Foundation

Copyright @copyright{} 2002 Free Software Foundation

Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
are preserved on all copies.

Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the entire
resulting derived work is distributed under the terms of a permission
notice identical to this one.

Permission is granted to copy and distribute translations of this manual
into another language, under the above conditions for modified versions,
except that this permission notice may be stated in a translation approved
by Free Software Foundation.
@end titlepage

@c @smallbook
@finalout
@headings double

@c @c Where to find Guile examples.
@c @set example-dir doc/examples

@ifnottex
@node Top, Guile License, (dir), (dir)
@top The Guile Reference Manual

This reference manual documents Guile, GNU's Ubiquitous Intelligent
Language for Extensions.  It describes how to use Guile in many useful
and interesting ways.

This Info file contains edition @value{MANUAL_EDITION} of the reference
manual, corresponding to Guile version @value{VERSION}.
@end ifnottex

@menu
Preface

* Guile License::               Conditions for copying and using Guile.
* Data Representation::         How to use Guile objects in your C code.
* Coming Attractions::          Where is the rest of the manual?!

@end menu

@include preface.texi
@include data-rep.texi

@c -----------------------------------------------------------------------
@c BEGIN cheesy stub

@node Coming Attractions
@chapter Coming Attractions

Where is the rest of the manual?

Good question.  At the time of this writing (2002-05), the rest of
the (very comprehensive) manual is still to be integrated into the
guile-1.4.x distribution.

In the meantime, you can obtain work-in-progress snapshots of the
manual in info and html formats under directory:

@example
http://www.glug.org/docbits/guile-doc-out/
http://www.glug.org/docbits/            (parent has tarballs)
@end example

Keep in mind these snapshots are not necessarily specific to
guile-1.4.x.  As the integration progresses, we expect to mark
version-specific information as such.  (Feel free to suggest to the
guile maintainers which areas need attention.)

@c END cheesy stub
@c -----------------------------------------------------------------------

@contents

@bye
